package cn.flying.cloud.base.core.common.caffeine;

import javax.annotation.Resource;

import org.springframework.stereotype.Component;

import com.github.benmanes.caffeine.cache.Cache;

/**
 * caffeine缓存
 *
 * @author: admin
 * @date: 2023年05月26日 16:51
 * @version: 1.0
 */
@Component
public class CaffeineCacheManager {

    @Resource
    private Cache<String, Object> caffeineCache;

    /**
     * 从缓存中获取
     *
     * @param key
     * @return
     */
    public Object get(String key) {
        return caffeineCache.getIfPresent(key);
    }

    /**
     * 存入缓存
     *
     * @param key
     * @param data
     */
    public void set(String key, String data) {
        caffeineCache.put(key, data);
    }

    /**
     * 从缓存中移除
     *
     * @param key
     */
    public void remove(String key) {
        caffeineCache.invalidate(key);
    }
}
